# 什么是静态方法和类方法，及其调用方式？

# 静态方法
# 定义类
class Person:
    @staticmethod
    def fn():
        # 静态方法
        print('这是一个静态方法')

    @classmethod
    def fn1(cls):
        print('fn1')


# 静态方法调用
# 类调用静态方法
Person.fn()

# 对象调用静态方法
p1 = Person()
p1.fn()


# 类方法
# 定义Person
class Person:
    country = 'China'

    # 定义类方法
    @classmethod  # 装饰器  - python语法高级
    def get_country(cls):
        print(cls.country)

    @classmethod
    def fn(cls):
        print(cls)


# 类方法调用
# 类名.类方法()
Person.get_country()

print(Person)
Person.fn()

# 对象.类方法()
p1 = Person()
p1.fn()


